package com.linshengjian.snowball.annotation;

import com.linshengjian.snowball.annotation.translate.BasicConvertHandler;
import com.linshengjian.snowball.annotation.translate.IConvertHandler;

import java.lang.annotation.*;

@Target({ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface Handler {
    /**
     * 转换后对应属性的名称
     * @return
     */
    String name() default "";

    /**
     * 转换中使用的格式
     * @return
     */
    String format() default "";

    /**
     * 是否使用转换
     * @return
     */
    boolean translate() default true;

    /**
     * 转换时实现类
     * @return
     */
    Class<? extends IConvertHandler> executor() default BasicConvertHandler.class;
}